کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش مدیریت فایل ورودی و خروجی در سی شارپ

دوره آموزش برنامه نویسی C#

کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده می باشد و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.

آموزش مدیریت فایل ورودی و خروجی در سی شارپ

یک file مجموعه داده های ذخیره شده در یک دیسک با نام و مسیر مشخص می باشد. وقتی که فایل برای خواندن یا نوشتن باز می شود، یک stream می شود.

 Stream اساسا دنباله ای از بایت هاست که از مسیر ارتباطی عبور می کند. دو stream مهم وجود دارد: inputstream و output stream. در واقع input stream برای خواندن (خوندن عملکرد) داده های فایل استفاده می شود و output stream برای نوشتن روی فایل (نوشتن عملکرد).

 گروه های C# l/O:

 فضا نام System.IO گروه های مختلفی دارد که برای اجرای عملکردهای مختلف با فایل ها استفاده می شود، از جمله ایجاد و حذف فایل ها، خواندن یک فایل یا نوشتن روی آن، بستن یک فایل و غیره.

 جدول زیر برخی از گروه های non abstract استفاده شده در فضا نام System.IO نشان می دهد.

 I/O Class

Description

BinaryReader

Reads primitive data from a binary stream.

BinaryWriter

Writes primitive data in binary format.

BufferedStream

A temporary storage for a stream of bytes.

Directory

Helps in manipulating a directory structure.

DirectoryInfo

Used for performing operations on directories.

DriveInfo

Provides information for the drives.

File

Helps in manipulating files.

FileInfo

Used for performing operations on files.

FileStream

Used to read from and write to any location in a file.

MemoryStream

Used for random access to streamed data stored in memory.

Path

عملکردهایی را روی اطلاعات مسیر اجرا می کند.

StreamReader

برای خواندن کاراکترها از یک byte stream استفاده می شود.

StreamWriter

برای نوشتن کاراکتر ها روی یک stream استفاده می شود.

StringReader

برای خواندن از یک استرینگ بافر استفاده می شود.

StringWriter

برای نوشتن روی یک استرینگ بافر استفاده می شود.

 

 گروه FileStream

گروه FileStream در فضانام System.lO به خواندن، نوشتن و بستن فایل ها کمک می کند. این گروه از گروه انتزاعی Stream استخراج می شود.

 برای ایجاد فایل جدید یا باز کردن فایل موجود لازم است که یک آبجکت FileStream ایجاد کنید. ترکیب برای ایجاد یک آبجکت FileStream مانند زیر می باشد:

FileStream = new FileStream( ,

, , );

به عنوان مثال برای ایجاد آبجکت F برای خواندن فایلی به نام sample.txt مانند زیر می باشد.

 FileStream F = new FileStream("sample.txt", FileMode.Open, FileAccess.Read, FileShare.Read);

 Parameter

Description

FileMode

 شمارنده ی FileMode روش های مختلف برای باز فایل ها تعریف می کند. اعضای این شمارنده عبارتند از:

Append: یک فایل موجود را باز می کند و یک مکان نما در انتهای فایل قرار می دهد ویا اگر فایل موجود نباشد، فایل ایجاد می کند.

Create: یک فایل جدید ایجاد می کند.

CreateNew: برای سیستم عملکرد که باید یک فایل جدید ایجاد کند، مشخص می کند.

Open: یک فایل موجود را باز می کند.

Open OrCreate: برای سیستم عملکرد که باید یک فایل را باز کند، اگر موجود باشد، مشخص می کند، در غیر این صورت باید یک فایل جدید ایجاد کند.

Truncate: فایل موجود را باز می کند و سایز آن را به صفر بایت کوتاه می کند.

FileAccess

شمارنده های FileAccess اعضایی دارند: Read، ReadWrite و Write

FileShare

شمارنده های FileShare دارای اعضای زیر می باشند.

Inheritable: اجازه می دهد تا یک فایل هندل inheritance را به فرایندهای کودک انتقال دهد.

None: اشتراک گذاری فایل موجود را کاهش می دهد.

Read: اجازه باز کردن فایل را برای خواندن می دهد.

ReadWrite: اجازه ی باز کردن فایل را برای خواندن و نوشتن می دهد.

Write: اجازه باز کردن فایل را برای نوشتن می دهد.

 

مثال

 مثال زیر استفاده از گروه FileStram را توضیح می دهد.

using System;
        using System.IO;
        namespace FileIOApplication
        {
           
class
Program
    {
               
static void
Main(string[] args)
                {
                    FileStream F =
new FileStream("test.dat"
,
                    FileMode.OpenOrCreate, FileAccess.ReadWrite);
        ‎ ‎           
for (int i = 1; i <= 20
; i++)
                    {
                        F.WriteByte((
byte
)i);
                    }
                    F.Position =
0
;
        ‎ ‎
                   
for (int i = 0; i <= 20
; i++)
                    {
                        Console.Write(F.ReadByte() +
" "
);
                    }
                    F.Close();
                    Console.ReadKey();
                }
            }
        }

وقتی که برنامه ی بالا کامپایل شده و اجرا می شود، نتیجه ی زیر را به دنبال دارد.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 -1

عملکردهای فایل پیشرفته در C#

 مثال قبل عملکردهای فایل ساده در برنامه ی #C را ارائه می دهد. به هرحال برای به کار بردن نیروهای بی پایان گروه های System.IO در #C، روش ها و ویژگی های متداول مورد استفاده ی این گروه ها را لازم دارید.

در مورد این گروه ها و عمکردهایی که اجرا می کنند، در قسمت های بعدی بحث خواهیم کرد.

 Topic and Description

Reading from and Writing into Text files 
شامل خواندن و نوشتن فایل های متنی می شود. گروه
StreamReader و StreamWriter به تکمیل کردن این عملکرد کمک می کند.

Reading from and Writing into Binary files 

شامل خواندن و نوشتن فایل های باینری می شود. گروه BinaryReader و BinaryWriter به تکمیل این عملکرد کمک می کند.

Manipulating the Windows file system 

به برنامه نویس C# توانایی فهرست کردن و جایگزاری فایل ها و دارکتوری ها را می دهد.

 

1394/07/27 14570 2296
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...